
/*
 * Copyright (C) 2010 Bitglue. All rights reserved.
 *
 * $Id: Plugable.java bself $
 */

package com.bitglue.osgi;

import com.bitglue.osgi.model.Deployment;

/**
 * Plugable interface for registration and unregistration
 * of {@link Deployment} modules.
 * @author Bryan Patrick Self
 */
public interface Plugable {

    boolean installModule(Deployment deployment);

    boolean reInstallModule(Deployment oldDeploy, Deployment newDeploy);

    boolean uninstallModule(Deployment deployment);

    boolean startModule(Deployment deployment);

    boolean stopModule(Deployment deployment);

    boolean isReady();

}
